package org.db.dao;

public class BauwerkslinienDAO extends DAO
		implements
			Comparable<BauwerkslinienDAO> {

	private String bauwerk;

	private double stationierungVonInMeter;

	private double stationierungBisInMeter;

	private double hoeheInMeter;

	private String besonderheiten;

	public BauwerkslinienDAO(String bauwerk, double stationierungVonInMeter,
			double stationierungBisInMeter, double hoeheInMeter,
			String besonderheiten) {
		this.bauwerk = bauwerk;
		this.stationierungVonInMeter = stationierungVonInMeter;
		this.stationierungBisInMeter = stationierungBisInMeter;
		this.hoeheInMeter = hoeheInMeter;
		this.besonderheiten = besonderheiten;
	}

	public String getBauwerk() {
		return bauwerk;
	}

	public void setBauwerk(String bauwerk) {
		this.bauwerk = bauwerk;
	}

	public double getStationierungVonInMeter() {
		return stationierungVonInMeter;
	}

	public void setStationierungVonInMeter(double stationierungVonInMeter) {
		this.stationierungVonInMeter = stationierungVonInMeter;
	}

	public double getStationierungBisInMeter() {
		return stationierungBisInMeter;
	}

	public void setStationierungBisInMeter(double stationierungBisInMeter) {
		this.stationierungBisInMeter = stationierungBisInMeter;
	}

	public double getHoeheInMeter() {
		return hoeheInMeter;
	}

	public void setHoeheInMeter(double hoeheInMeter) {
		this.hoeheInMeter = hoeheInMeter;
	}

	public String getBesonderheiten() {
		return besonderheiten;
	}

	public void setBesonderheiten(String besonderheiten) {
		this.besonderheiten = besonderheiten;
	}

	@Override
	public int compareTo(BauwerkslinienDAO other) {
		double diff = this.stationierungVonInMeter
				- other.getStationierungVonInMeter();
		if (diff > 0) {
			return 1;
		} else if (diff < 0) {
			return -1;
		} else {
			return this.getBauwerk().compareTo(other.getBauwerk());
		}
	}

}
